As the technology of computer graphics develops, computer-produced images are becoming more vivid and delicate. In order to produce computer images with high subtlety and fidelity, massive computer operations are required. Consequently, the render farm is developed.
The render farm is a computer cluster, mainly used for executing massive image rendering tasks related to computer graphics. The computers at the nodes of the computer cluster can operate in close coordination for finishing enormous computation tasks.
Currently, the render software is diversified. While producing computer images, a user usually uses several kinds of render software. Different render software has different requirement in the operational system. Thereby, while producing computer images by mixing several kinds of render software and using the render farm, a simper way is to set up two or more render farms according to the number of the operational systems required by the render software. The render farms run different operational systems, respectively, for supporting the render software requiring different operational systems.
Nonetheless, by setting up two or more render farms, some problems occur, including difficulty in sharing resources among render farms, increased complexity in management (for example, inability in managing a unified schedule among render farms), and raised maintenance costs for software and hardware. Accordingly, by providing various operational systems or operational environments in different operational nodes of a render farm, respectively, resources can be shared among the operational nodes in the render farms as various kinds of render software are supported. This can not only reduce overall maintenance costs but also enhance the utility of the operational nodes in the render farm.
It is advantageous as described above to provide two or more operational systems or operational environments by using different operational nodes in the same render farm. Nonetheless, limited by the differences in the requirements of the operational systems or environments of different kinds of render software, it is difficult to support operational tasks reciprocally in different operational nodes having distinct operational systems or environments. As a consequence, the system manager generally needs to adjust the installation ratios of different operational systems or environments manually according to the operational task for accelerating the overall production results of the render farm.
Accordingly, the present invention provides a system and method for dynamically adjusting operational environment. Two or more operational systems are installed in each operational node in the computer cluster of the system. The control node can estimate the time required for completing different tasks requiring different operational systems, compare the estimated finish time and the assigned finish time, raise the proportion of the operational systems running in the operational nodes required by certain types of tasks having the estimated finish time exceeding the assigned finish time, or adjust the proportion of the operational systems running in the operational nodes according to different requirements of tasks in operational system for accelerating completion of the operational task.